#include "managerservice_impl.h"
#include "managerdao_file_impl.h"
#include "managerservice.h"
#include <iostream>
#include <vector>
#include "tools.h"

//作为管理子系统业务逻辑层的实现类，ManagerServiceImpl 从纯抽象类 ManagerService 继承，并对基类中的 3 个纯虚函数提供覆盖版本。
using namespace std;
using namespace MAN;

ManagerServiceImpl::ManagerServiceImpl()
{
	manager = new ManagerDaoFileImpl;
	init_id(MgrID_PATH,1001);
	manager->load(vec_man);	
}

//将从参数传入的Manager对象加入managers容器
bool ManagerServiceImpl::addManager(Manager& mana)//增加管理员 
{
	vec_man.push_back(mana);
	return true;
	
}

//从managers容器中删除符合特定ID号的Manager对象 
bool ManagerServiceImpl::deleteManager(int id) //删除管理员 
{

	for( unsigned int i =0; i < vec_man.size(); i++)
	{
		if(id == vec_man[i].id)
		{
			vec_man.erase(vec_man.begin()+i);
			return true;
		}
	}
	return false;
}

//返回managers容器 
vector<Manager> ManagerServiceImpl::listManager(void)//列出所有管理员
{
	return vec_man;
} 

ManagerServiceImpl::~ManagerServiceImpl()
{
	manager->save(vec_man);
	delete manager;	
}	

